home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c++-part2 / 16955 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  10.6 KB

  1. Path: wholder2.cts.com!user
  2. From: dbell@shvn.com (Doug Bell)
  3. Newsgroups: comp.lang.java,comp.lang.c++,comp.lang.smalltalk
  4. Subject: Re: Will Java kill C++?
  5. Date: Fri, 12 Apr 1996 15:08:45 -0700
  6. Organization: FTL Games
  7. Message-ID: <dbell-1204961508460001@wholder2.cts.com>
  8. References: <31682FFE.2781E494@bbn.com> <DpJyGG.FKK@hkuxb.hku.hk> <denatale-1004960822260001@grail1506.nando.net> <dbell-1104960125190001@wholder2.cts.com> <goochb.327.000893D1@rwi.com> <dbell-1104961159050001@wholder2.cts.com> <316D8523.74D7@concentric.net> <dbell-1104962256020001@wholder2.cts.com> <316E3FB6.38F7@concentric.net>
  9. NNTP-Posting-Host: wholder2.cts.com
  10.  
  11. In article <316E3FB6.38F7@concentric.net>, alovejoy@concentric.net wrote:
  12.  
  13. > Doug Bell wrote:
  14. > > 
  15. > > In article <316D8523.74D7@concentric.net>, alovejoy@concentric.net wrote:
  16. > > 
  17. > > > Would you consider VisualBasic to be a workhorse language?  Are there
  18. > > > or are there not many useful programs written in VisualBasic that
  19. > > > are widely-used?
  20. > > 
  21. > > Yes.  And yes.
  22. > If both Java and VisualBasic are suitable as "workhorse languages," what
  23. > is it that disqualifies Smalltalk?  
  24.  
  25. Well, you left out my definition of workhorse language from my post:
  26.  
  27. "I would define a 'workhorse' language to be one which is used by a large
  28. body of people to produce useful software which is used on a regular
  29. basis."
  30.  
  31. *Maybe* Smalltalk has grown into this role (from the number of people
  32. jumping on me for my original post, I might consider this :), but you tell
  33. me: Does Smalltalk meet that definition?  Honestly, now, is there a "large
  34. body of people" using it?
  35.  
  36. > > Why would you assume that the match between the technical merits of
  37. > > Smalltalk and the requirements of the project *don't* have anything to do
  38. > > with it not being accepted on a broader basis?
  39. > Why would you assume there was a particularly strong correlation between
  40. > these things?  It's possible to be dumb and lazy--but rich.  And it's possible
  41. > to be smart and hard-working--but poor.  There are many reasons for this,
  42. > but the most important one is that the competitors don't start the game
  43. > at the same time with equal initial stakes.  Such is the case with
  44. technologies
  45. > and programming languages.  A ten-year head start can be parlayed into an
  46. > almost impregnable market position.  It's not just how good is the language,
  47. > but how widely used it is.  How easy it is to get trained, experienced talent.
  48. > The availability of mature, tested code libraries.  The loyalty of hordes
  49. > of dedicated users who want to capitalize on their ten years of experience
  50. > in the old language instead of being newbies in a new, unproven language.
  51.  
  52. Keep going, you're making my point rather well...
  53.  
  54. > Also, the environment in which the competition takes place is undergoing
  55. > constant, rapid change.  Smalltalk was simply not as viable ten years ago,
  56. > or even five years ago, as it is today, because of its memory footprint
  57. > and reliance on a virtual machine.  Imagine if this were 1986, and Sun
  58. > had just introduced Java! Imagine the excitement of running Java...on
  59. > a virtual machine...on a 16Mhz 386 with 640k of memory...with no virtual
  60. > memory...in real mode...
  61.  
  62. If Java was introduced in 1986, it would have failed because it did not
  63. meet the criteria I set forth for a tool to be successful.  The worth of
  64. the tool is not independent of the environment and existing conditions in
  65. which it is deployed.
  66.  
  67. > Smalltalk's age is irrelevant. What is relevant is that the ever-increasing
  68. > capabilities and performance of the hardware have made it suddenly very
  69. > viable--so much so, that a language with very similar performance constraints
  70. > and resource requirements is now the hottest computer language in two
  71. > decades.
  72.  
  73. Well, I think you miss the big picture if you are going to compare Java's
  74. resource requirements to Smalltalk's.  Interpreted Java is a transistion
  75. which I suspect will be left behind sooner rather than later.  The
  76. resource requirements of Java should actually be lighter than those of
  77. several conventional languages, with perhaps an exception made for it's
  78. less efficient use of memory than most conventional languages.
  79.  
  80. I wouldn't be interested in Java if I thought that the Java we have today
  81. was the Java we will have in six to nine months.  If I though it was going
  82. to be ten years before Java's current resource short-comings were
  83. addressed, I'd also not be interested, at least not for ten years, at
  84. which time I suspect there would be something more relevant to the current
  85. environment than Java which would warrant my attention.  ;)
  86.  
  87. >>>>> But the reason a language such as Smalltalk
  88. >>>>> is not used in most cases has more to do with prejudice, ignorance,
  89. politics,
  90. >>>>> inertia and the tendency to copy what others are doing than it does
  91. with the
  92. >>>>> technical merits of Smalltalk or the requirements of the project.
  93. >>>> 
  94. >>>> Now you're starting to sound like the guy I was originally responding to.
  95. >>>> Let's just say that to some extent, the answers a language *does* have
  96. >>>> must be relative to the impact of the software which results from it.
  97. >>>> What other measure would you apply?
  98. >>>
  99. >>> I would say that the impact of the software implemented in a language
  100. >>> is the **intersection** (NOT the **union**) of the power of the language,
  101. >>> the talent of those using it, and the assignments that the language gets
  102. >>> dealt by the market.  Once one tool achieves dominance, it is very difficult
  103. >>> for other incompatible tools to become widely used--regardless of relative
  104. >>> merit (e.g., Windows, x86, S360/370, gasoline, chinese ideographs, etc).
  105. >>> So very good tools can have relatively small impact--because they don't
  106. >>> get used.
  107. >> 
  108. >> Here is the crux of the issue.  If a tool can't meet the requirements
  109. >> necessary to fit the demands of the market, pool of available talent, and
  110. >> integration with existing systems and infrastructure, then that is the
  111. >> fault of the tool, not the fault of the conditions under which it must be
  112. >> deployed.  The technical merits of the tool can only be properly judged in
  113. >> the environment in which it is to be deployed, not in the confines of the
  114. >> laboratory.
  115. > If "a tool can't meet the requirements necessary to fit the demands of the
  116. > market" because of its technical shortcomings, then you have a point.  If
  117. > the tool is rejected by the market because a) there was not a sufficient
  118. > supply of trained/experienced talent; b) the market had no confidence in
  119. > the tool because it was not blessed by <insert name of market-dominating
  120. > company of your choice here>; or c) because the market was going ga-ga over
  121. > some other tool that was no better (perhaps even worse) than another, and was
  122. > in no mood to even hear about any tool other than the one it had become
  123. > infatuated with--then you can't really blame the tool for being no good,
  124. > can you?
  125.  
  126. I'm not "blaming" Smalltalk.  As you and others have pointed out, there
  127. are environments and projects for which Smalltalk is apporpriate.  But
  128. Smalltalk had all the advantages (time to mature and innovate, dedicated
  129. group of proponents, real-world application) over Java to be what Java is
  130. (net-based, providing a solution for which there is a demand, and easy to
  131. learn and assimilate for a large base of programmers), and failed.  So
  132. Java is the better tool for many projects than Smalltalk for these
  133. reasons.
  134.  
  135. Now if the Smalltalk people want to quit sulking over Java's sudden and
  136. rapid interest and do something to change the situation for the better,
  137. they should figure out how to adapt Smalltalk to this task.  If you build
  138. it, they will come.  If they don't come, you haven't built what they
  139. need.  It's not politics and the stupidity of the masses, it's survival of
  140. the fittest and the fitness of the tool.
  141.  
  142. To give a short analogy (please no flames on this, that belongs in a
  143. different newsgroup), I use a Mac.  I am convinced that a Mac is a better
  144. tool than a Windows-based PC.  Why, then, is not the Mac the dominant
  145. tool?  Two reasons: 1) it was too expensive for a long time; and 2) it was
  146. not an open system and the pace of innovation was limited to a large
  147. extent to what Apple could manage.  I blame the tool for this.  It doesn't
  148. stop me from trying to promote it, but I don't blame everyone who bought a
  149. PC for the failings of the Mac.  Nor do I mark it up to "prejudice,
  150. ignorance, politics, inertia and the tendency to copy what others are
  151. doing".
  152.  
  153. > (However, I have always thought that
  154. > C could be much improved upon, so that it would be an even better high-level,
  155. > statically-typed assembly language: I'd start by changing the type declaration
  156. > syntax so that it was more like that of Modula-2).
  157.  
  158. Sure, C is *far* from perfect.  As knowledge advances, shortcomings will
  159. become apparent in any technology.
  160.  
  161. > But you should use a language such as Smalltalk (there are other languages
  162. > that are more or less comparable technically) for most custom business 
  163. > applications.  There is a reason that this market is dominated by languages
  164. > such as COBOL, RPG, VisualBasic, Delphi, PowerBuilder, Forte and Smalltalk,
  165. > all of which are very different than C.
  166.  
  167. But it doesn't follow that you should use Samlltalk whereever you might
  168. consider using Java, which is what some in this thread have seemed to
  169. suggest.
  170.  
  171. > No one language is right for every and all tasks.
  172.  
  173. Ahhh, harmony!  We certainly agree here.
  174.  
  175. >>> Example: one could use modern linguistic science to design a much better
  176. >>> language than English or any other natural language.  Aren't you excited
  177. >>> by the prospect of using such a language?  I know, you just can't wait
  178. >>> to learn and start using this language.  Right?
  179. >> 
  180. >> Wrong.  Your natural language doesn't meet the requirements necessary to
  181. >> fit the demands of the market, pool of available talent, and integration
  182. >> with existing systems and infrastructure, so it isn't a better tool than
  183. >> the existing language, despite it's technical merits.
  184. > Precisely my point.  The corollary is that the fact that a tool has failed
  185. > in the market does not prove that the tool is technically flawed, or that
  186. > it could not possibly be much better from a technical standpoint than the
  187. > more popular tools.
  188. > --Alan
  189.  
  190. Well, it's really a difference of symantecs here, but the technical
  191. evaluation includes, IMHO, the suitability to the environment.  For
  192. example, your hypothetical language could either be designed to accomplish
  193. it's technical improvement AND be as familiar as possible to current users
  194. of English, or it could be designed purely on linguistic merits with no
  195. compromises to the existing base of users.  Which would be the
  196. "technically superior" language?  It would depend, in part, on how you
  197. define "technically superior".
  198.  
  199. Doug Bell
  200. dbell@shvn.com
  201.